#define _CRT_SECURE_NO_WARNINGS  1
//#include<stdio.h>
//int mi(int a, int b,int p)
//{
//	if (b == 0)
//		return 1;
//	a %= p;
//	int c = mi(a, b / 2, p);
//	if (b & 1)
//		return c * c % p * a % p;
//	else
//		return c * c % p;
//}
//int main()
//{
//	int a, b, p;
//	scanf("%d%d%d", &a, &b, &p);
//	printf("%d^%d mod %d=%d",a,b,p,mi(a,b,p));
//	return 0;
//}
#include<stdio.h>
#define ll long long
ll mi(ll a, ll b, ll p)
{
	ll res = 1;
	while (b)
	{
		if (b & 1)
		{
			res = res * a % p;
		}
		a = a * a % p;
		b >>= 1;
	}
	return res;
}
int main()
{
	ll a, b, p;
	scanf("%lld%lld%lld", &a, &b, &p);
	ll c = mi(a, b, p);
	printf("%lld^%lld mod %lld=%lld\n", a, b, p, c);
	return 0;
}